/**
 * iframe 发送信息
 * @param {Any} message 需发送的信息
 * @param {Boolean} IsPostToParent 是否向父页面发送消息，默认true
 * @param {Array} data 要发送的id列表，若无则向全部子页面发送消息 ['id1','id2']
 */
export function postMessage({
  message,
  IsPostToParent = true,
  data,
}: {
  message: any
  IsPostToParent?: boolean
  data?: any[]
}) {
  if (IsPostToParent) return parent.postMessage(message, '*')

  let ele: any = document.getElementsByTagName('iframe')
  if (data) {
    ele = []
    data.forEach((item) => {
      ele.push(document.getElementById(item))
    })
  }

  if (!ele.length) return
  for (let i = 0; i < ele.length; i++) {
    ele[i].contentWindow.postMessage(message, '*')
  }
}

/**
 * iframe 监听 接收信息
 * @param {Funtion} Fun 接收信息后
 */
export function getMessage({ Fun }: { Fun: any }) {
  window.addEventListener('message', (event) => {
    if (Fun) Fun(event.data)
  })
}
